home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
pmode
/
qfml11
/
readme.doc
< prev
next >
Wrap
Text File
|
1995-03-06
|
5KB
|
117 lines
QFML V1.11
Quick Flat Memory Lite: A flat-real mode memory manager.
(C)opyrights 1995 RENDER of ACC TEAM
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
The first version (1.10) of this program was first uploaded to
oak.oakland.edu during January of 1995 and was retired inmediatly
due to some bugs encountered in the error routines and the A20
enable routine. I have seen a copy of that early version in
teeri.oulu.fi and this version (1.11) is meant to replace the
earlier.
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
After trying many DOS extenders I decided to program this one.
All the extenders I have seen have limitations like not running
without himem or restricting the 4Gb offsets to one segment register.
QFM has these advantatges:
- Flat-mode (4Gb linear memory locations)
- Real-mode (No speed loss)
- Full MsDos compatible
- Work with or without himem
- Can be used under C (I have used Borlandc 3.1)
- Works with segments es,fs,gs and ds.
In order to use QFM you must ensure that the processor is not
already running under protected mode. This is because QFM does not
support DPMI or QEMM so it can stay in real mode. If it stayed
under DPMI it would be slower, because protected mode does some
extra work which you may not need. If QFM encounters this problem
it will print a message and return an error value.
Using QFM is simplicity itself:
- Start QFM:
StartPL()
- Open all free mem. after first Mgb:
OpenMem()
- Get the starting adress of that block:
p=GiveSta()
- Now you can address from postion 0 to 4Gb just by
setting one of the segments registers(gs,ds,es,fs)
to 0 and using a 32-bit offset (EDI,ESI,EBX,etc..)
- End your code with CloseMem() and LeavePL()
For a detailed explanation on functions, please refer to
qfml11.h, examples1.cpp and example2.cpp.
HOW TO INCLUDE IT:
If you are coding C follow these instructions: (Borlandc 3.1)
- Make a project including your files and
QFML.OBJ. A good starting point would be to make one
from example1.prj or example2.prj. Notice that
if QFML.OBJ does not include debug information.
- Use a program like prj2mak to get the make file
and modify the line which states TLINK [options],
adding the parameter /3 in the options.
- Now you can use MAKE to compile. Notice that
you cannot compile within the IDE as the integrated
linker will not allow you to link 32-bit code.
- You can still use Turbo debbuger to debug your
programs.
One important point: You MUST compile with models MEDIUM,LARGE
or HUGE, because the code of QFML must be in a far segment.
QFML was assembled using:
TASM /m2 /zn /z /w2 /ml qfml.asm
Parameter ml makes case sensitive function names.
The best C envirorment would be a programer editor like ME or
Qedit and invoke make from there. You should keep in mind that the
editor must run in real mode.
You cannot execute within the IDE as it runs under protected mode,
but you can debug it with TURBODEBBUGER.
UNREGISTERED VERSION:
The unregistered version allows a maximum of 256 K. and has
a delay in the StartPL function which may not appear in some cases.
IT CAN BE FREELY DISTRIBUTED TO ANYONE INTERESTED WITH NO CHARGE,
BUT IT MUST BE COPIED IN ITS COMPLETE FORM. The registered
version gets all memory available, no delay and some options like
non-echo. Depending on response or special enquire I may give a
Pascal and assembly interface.To register send 1000 Pts. or 5 pounds to:
Mickel Bernal Herzog
Pascual Orozco 13, Entresuelo A
03006. ALICANTE
SPAIN
You'll get the complete version and some more examples.
For more information e-mail me at:
a00458@DTIC.ua.es
( Please include your e-mail at the bottom of message )
RENDER (Guillermo Alejandro Collada Ali) 1995